package com.cskaoyan.javase._2inner._2static._0introduction;
/**
 * 成员内部类和外围类是强依赖关系,成员内部类对象会持有外围类对象的引用
 * 那么静态内部类和外围类之间,又有什么关系呢?
 * 没有关系
 * 静态内部类和外围类就是独立的两个类,只不过静态内部类借用外围类保护自己
 *
 * 静态内部类仍然定义在类的成员位置,它的语法是:
 * //外围（普通）类
 * [访问权限修饰符] class EnclosedClazz{
 * // 静态内部类访问权限修饰符，有四个，和普通成员一样
 *   [访问权限修饰符] static class NestedClazz{
 *  }
 * }
 *
 * 静态内部类的自身特点
 * 依然主要从以下几个角度分析：
 *      1.访问权限修饰符
 *          和成员内部类一样,有四种访问级别
 *          四种皆可用
 *      2.成员特点
 *          静态内部类就是一个普通类放入另外一个类的类体中
 *          所以它和普通类的成员没有任何区别
 *
 *          从这个角度出发,静态内部类相比较于成员内部类
 *          静态内部类是更灵活的,不受外围类限制,单纯隐藏类
 *
 *      3.继承和实现
 *          可以继承,可以实现,了解即可
 *
 * @since 16:53
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}
class EnclosedClazz{
    // 定义静态内部类
    static class Inner{
        int a;
        private int b =10;
        static int c = 20;
        static final String STRING = new String("abc");
        static void test(){}
        void test2(){}

        public Inner(int a, int b) {
            this.a = a;
            this.b = b;
        }
        {}
        static {}
    }
}